<template>
	<view class="container">
		<view class="list-cell b-b m-t" hover-class="cell-hover" :hover-stay-time="50">
			<text class="cell-tit cell-avatar">头像</text>
			<view class="cell-more yticon icon-you avatar">
					<!-- <image :src="user_info.avatar" mode="widthFix" lazy-load></image> -->
					<avatar 
						selWidth="200px" selHeight="400upx" @upload="myUpload" :avatarSrc="user_info.avatar || '/static/buytao/index-right.png'"
						avatarStyle="width: 60upx; height: 60upx; border-radius: 100%;">
					</avatar>
			</view>
		</view>
		<view class="list-cell b-b" @click="navTo('/pages/set/setname?nickname='+user_info.nickname)" hover-class="cell-hover" :hover-stay-time="50">
			<text class="cell-tit">昵称</text>
			<text class="cell-more yticon icon-you">{{user_info.nickname}}</text>
		</view>
		<view class="list-cell" hover-class="cell-hover" :hover-stay-time="50">
			<text class="cell-tit">加入合伙人时间</text>
			<text class="cell-more yticon icon-you">2020-05-23 12:00:33</text>
		</view>
		<view class="list-cell m-t b-b">
			<text class="cell-tit">订单隐私</text>
			<switch :checked="is_privacy" color="#fa436a" @change="switchChange" />
		</view>
		<view class="list-cell" @click="navTo('/pages/set/accountsaft')" hover-class="cell-hover" :hover-stay-time="50">
			<text class="cell-tit">账户与安全</text>
			<text class="cell-more yticon icon-you"></text>
		</view>
		<view class="list-cell" @click="check_version()">
			<text class="cell-tit">检查更新</text>
			<text class="cell-tip">当前版本 {{version}}</text>
			<text class="cell-more yticon icon-you"></text>
		</view>
		<view class="list-cell m-t b-b" @click="navTo('/pages/set/disable')" hover-class="cell-hover" :hover-stay-time="50">
			<text class="cell-tit">注销账号</text>
			<text class="cell-more yticon icon-you"></text>
		</view>
		<view class="list-cell log-out-btn" @click="toLogout">
			<text class="cell-tit">退出登录</text>
		</view>
		
		<!--确认邀请人-->
		<uni-popup ref="popup" type="center" :animation="false" :maskClick="false">
			<ProgressBar :Width="showprogress.Width" Type="candy" :Vice="false"></ProgressBar>
		</uni-popup>
		
	</view>
</template>

<script>
	import avatar from "../../components/yq-avatar/yq-avatar.vue"
	import tools from "../../common/tools"
	import config from "../../common/config"
	import apiuser from '../../common/api/user'
	import ProgressBar from '../../components/Progress-Bar/Progress-Bar'
	export default {
		data() {
			return {
				user_info:{},
				qiniu_token:'',
				version:'',
				showprogress:{
					Width:0,
					totalBytesWritten:0,
					totalBytesExpectedToWrite:0
				},
				is_privacy:false
			};
		},
		components: {
			apiuser,
			ProgressBar,
			avatar
		},
		onShow(){
			tools.is_has_login('hasLogin')
			this.get_userinfo()
			this.getqiniutoken()
		},
		onLoad(){			
			this.version=config.version
		},
		methods:{
			
			myUpload(rsp) {
				if(rsp.path == undefined){
					return false
				}
				uni.uploadFile({
					url: 'https://up.qiniup.com/',
					filePath: rsp.path,
					name: 'file',
					formData: {
						key: Math.round(new Date() / 1000),
						token: this.qiniu_token
					},
					success: result => {
						if(result.statusCode == 200){
							let qiniu_result = JSON.parse(result.data)
							let img_path='http://qn.enshitc.com/'+qiniu_result.key
							this.user_info.avatar=img_path
							apiuser.set_avatar({avatar:img_path}).then(res =>{
								if(res.code==1){
				　　　　　　　　　　uni.showToast({
				　　　　　　　　　　　　title: '设置成功',
				　　　　　　　　　　　　icon: 'none'
				　　　　　　　　　　})
								  tools.update_set_user()
								}else{
				　　　　　　　　　　uni.showToast({
				　　　　　　　　　　　　title: '上传失败,稍后重试',
				　　　　　　　　　　　　icon: 'none'
				　　　　　　　　　　})
								}
							}).catch(res=>{
								
							});
						}else{
		　　　　　　　　　　uni.showToast({
		　　　　　　　　　　　　title: '上传失败,稍后重试',
		　　　　　　　　　　　　icon: 'none'
		　　　　　　　　　　})
						}
					}
				})
			},
			
			
			//上传头像保存
			uploadavatar1(){
				uni.chooseImage({
					count: 1,
					sizeType: ['original', 'compressed'], //可以指定是原图还是压缩图，默认二者都有
					sourceType: ['album'], //从相册选择
					success: res => {
						uni.uploadFile({
						url: 'https://up.qiniup.com/',
						filePath: res.tempFilePaths[0],
						name: 'file',
						formData: {
							key: Math.round(new Date() / 1000),
							token: this.qiniu_token
						},
						success: result => {
								if(result.statusCode == 200){
									let qiniu_result = JSON.parse(result.data)
									let img_path='http://qn.enshitc.com/'+qiniu_result.key
									this.user_info.avatar=img_path
									apiuser.set_avatar({avatar:img_path}).then(res =>{
										if(res.code==1){
						　　　　　　　　　　uni.showToast({
						　　　　　　　　　　　　title: '设置成功',
						　　　　　　　　　　　　icon: 'none'
						　　　　　　　　　　})
										  tools.update_set_user()
										}else{
						　　　　　　　　　　uni.showToast({
						　　　　　　　　　　　　title: '上传失败,稍后重试',
						　　　　　　　　　　　　icon: 'none'
						　　　　　　　　　　})
										}
									}).catch(res=>{
										
									});
								}else{
				　　　　　　　　　　uni.showToast({
				　　　　　　　　　　　　title: '上传失败,稍后重试',
				　　　　　　　　　　　　icon: 'none'
				　　　　　　　　　　})
								}
							}
						});
					},
					fail() {
						uni.showToast({
							title: 'chooseImage fail',
							duration: 3000,
							icon: 'none'
						});
					},
					error: e => {
						console.log(e);
					}
				});
			},
			
			
			
			
			
			
			
			
			
			
			
			
			
			
			
			
			
			
			//更新apk包
			 UpdateOfApk(install_apk) {
			    const downloadTask = uni.downloadFile({
			    	url: install_apk,  
			    	success: (downloadResult) => { 
			    		if (downloadResult.statusCode === 200) { 
			                //console.log('安装包下载成功，即将安装：' + JSON.stringify(downloadResult,null,4));
			    			plus.runtime.openFile( downloadResult.tempFilePath );
			    		}
			    	}
			    });
			    downloadTask.onProgressUpdate((res) => {
					this.showprogress.Width=res.progress
					if(res.progress == 100){
						this.$refs.popup.close()
					}
			        // console.log('下载进度' + progress);
			        // console.log('已经下载的数据长度' + res.totalBytesWritten);
			        // console.log('预期需要下载的数据总长度' + res.totalBytesExpectedToWrite);
			    });
			    uni.$on("cancelUpdate", ()=> {
			    	console.log("用户点击了取消下载");
			    	downloadTask.abort();
			    })
			},
			
			
			UpdateOfWgt(result) {
				uni.downloadFile({
					url: result.data.data.url,  
					success: (downloadResult) => { 
						if (downloadResult.statusCode === 200) {  
							console.log("增量更新包下载成功，即将安装: " + JSON.stringify(downloadResult, null, 4));
							plus.runtime.install(downloadResult.tempFilePath, {  
								force: false  
							}, function() {
								console.log("增量更新成功,将重启app");
								plus.runtime.restart();  
							}, function(e) {
								console.error('增量更新安装失败：' + JSON.stringify(e));  
							});  
						}  
					}  
				});
			},

			
			//检查版本
			check_version(){
				apiuser.get_version({}).then(res =>{
					if(res.code == 1){
						if(this.version<res.data.version){							
							if(config.source == 'android'){//android更新
								this.$refs.popup.open()
								this.UpdateOfApk(res.data.url)
							}else{			//ios更新
								plus.runtime.install(res.data.url,{  
									force: false  
								}, function() {
									console.log("更新成功,将重启app");
									plus.runtime.restart();
								}, function(e) {
									console.error('更新安装失败：' + JSON.stringify(e));  
								}); 
							}
							
						}else{
			　　　　　　　　　uni.showToast({
			　　　　　　　　　　　title: '已经是最新版了',
			　　　　　　　　　　　icon: 'none'
			　　　　　　　　　})
						}
					}
				}).catch(res =>{
					
				});
			},
			
			
			//跳转
			navTo(url){
				uni.navigateTo({
					url: url,
					success: res => {},
					fail: () => {},
					complete: () => {}
				});
			},
			
			//获取七牛上传token
			getqiniutoken(){
				apiuser.getqiniutoken({}).then(res =>{
					if(res.code==1){
						this.qiniu_token=res.data.token
					}
				}).catch(res=>{
					
				});
			},
			
			
			
			
			
			//个人信息接口
			get_userinfo(){
				apiuser.get_userinfo({}).then(res =>{
					this.user_info = res.data
					this.is_privacy = res.data.is_privacy == 1?true:false
				}).catch(res=>{
					
				});
			},
			//退出登录
			toLogout(){
				uni.showModal({
				    content: '确定要退出登录么',
				    success: (e)=>{
				    	if(e.confirm){
							tools.clearStorage()
							uni.navigateTo({
								url: '../public/login',
								success: res => {},
								fail: () => {},
								complete: () => {}
							});
				    	}
				    }
				});
			},
			
			
			//设置隐私订单
			switchChange(e){
				console.log(e.detail.value)
				let statusTip = e.detail.value ? '打开': '关闭'
				let switch_is_privacy = this.is_privacy ? 0 :1
				let params={switch:switch_is_privacy}
				apiuser.set_privacy_switch(params).then(res =>{
					if(res.code == 1){
						this.$api.msg(`${statusTip}隐私订单`)
						this.get_userinfo()
					}
				}).catch(res=>{
					
				});
			},

		}
	}
</script>

<style lang='scss'>
	page{
		background: $page-color-base;
	}
	.avatar>image{
		width:50upx;
		height:50upx;
		border-radius:25upx;
	}
	.list-cell{
		display:flex;
		align-items:baseline;
		padding: 20upx $page-row-spacing;
		line-height:60upx;
		position:relative;
		background: #fff;
		justify-content: center;
		&.log-out-btn{
			margin-top: 40upx;
			.cell-tit{
				color: $uni-color-primary;
				text-align: center;
				margin-right: 0;
			}
		}
		&.cell-hover{
			background:#fafafa;
		}
		&.b-b:after{
			left: 30upx;
		}
		&.m-t{
			margin-top: 16upx; 
		}
		.cell-more{
			align-self: baseline;
			font-size:$font-lg;
			color:$font-color-light;
			margin-left:10upx;
		}
		.cell-tit{
			flex: 1;
			font-size: $font-base + 2upx;
			color: $font-color-dark;
			margin-right:10upx;
		}
		.cell-tip{
			font-size: $font-base;
			color: $font-color-light;
		}
		switch{
			transform: translateX(16upx) scale(.84);
		}
	}
	.cell-avatar{
		width:100upx;
	}
	.avatar{
		width:600upx;
		text-align: right;
	}
</style>
